Properties
Create and customize properties.
Overview
Properties help you to describe or add information to analytic objects. When you load data into the properties of an object, you're including additional information for analysis, such as an employee's birth date, full name, employee ID, or job title. Property values may change over time, such as when an employee is promoted or changes their name.
All analytic objects have properties to describe them; for example, the Applicant subject has properties like applied date and time to fill and the Employee Exit event has properties like exit date and exit type.
Tip: To learn more, take the Visier University eLearning courses: Understanding Visier's data architecture and Creating and configuring properties.
Simple properties
A simple property provides single-level detail to an analytic object and contain one value at a time. The value of a simple property can change. For example, an employee's Job Name property correlates to one value that may change over time.
Simple properties have the following characteristics in Visier:
- Evaluate an analytic object on a per-ID basis. For example, the First Name property evaluates on each employee ID to provide a first name for every employee.
- Provide single-level detail to an analytic object. For example, the Employee ID property provides one value per employee.
- Optionally available as a filter in visualizations. For example, you can filter a Breakdown of Headcount by Organization visualization by the Hourly Rate property.
- Not available as a group by in visualizations. For example, you can't group Headcount by the Email property.
- Can be used in other objects, like metrics, calculated properties, and dimensions. For example, the Age calculated property uses the Birth Date property to calculate an employee's current age.
Calculated properties
A calculated property takes a value that comes directly from the data and creates a new value through a formula. It provides a value for a given subject member. For example, Tenure is a calculated property that provides a value for each employee by using the simple property Hire Date to calculate the time between the current date and an employee's hire date. Instead of loading every employee's tenure every year, a calculated property allows you to load hire date and then calculate tenure from that data.
Calculated properties have the following characteristics in Visier:
- Evaluate an analytic object on a per-ID basis. For example, the Direct Span of Control property evaluates on each employee ID to provide a value for employees who are managers.
- Provide single-level detail to an analytic object. For example, the Full Name property provides one value per employee.
- Optionally available as a filter in visualizations. For example, you can filter a Breakdown of Headcount by Organization visualization by the Tenure with Current Manager property.
- Not available as a group by in visualizations. For example, you can't group Headcount by the Most Recent Start Date property.
- Can be used in other objects, like metrics, calculated properties, and dimensions. For example, the Age range dimension uses the Age in Months property to group employees by their current age in months.
- Has a formula written in Visier Formula Language. For example, the Age property has the formula yearsBetween(Employee.Birth_Date, effectiveDate, gregorian).
Multi-value properties
Multi-value properties (MVPs) are a collection of simple properties to describe a single attribute that can have several valid values at the same time. For example, Employee Education is a multi-value property containing a collection of simple properties that identify the year, school, and diploma or certificate achieved. It is modeled as a list because an employee's education can include more than one diploma or degree.
Multi-value properties have the following characteristics in Visier:
- Evaluate an analytic object on a per-ID basis. For example, the Assignments property evaluates on each employee ID to provide the work activities assigned to employees.
- Provide multi-level detail to an analytic object. For example, the Certification property provides details about an employee's certifications, including the certification ID, type, date, and expiry date.
- Not available as a group by or filter in visualizations. For example, you can't group Headcount by the Employee Job History property and you can't filter a Breakdown of Headcount by Organization visualization by the Employee Job History property.
- Can be used in metric or calculated property formula aggregations. For example, the Active Assignments calculated property uses the Assignments multi-value property to aggregate an employee's total number of current assignments.
- Requires a unique data type in Visier to store the related attributes. For example, Employee Education property uses the Education data type, which contains the attributes Degree, Education Completion Year, and Institution.
Should I create a property?
Tip: Before creating a new property, check whether the analytic object already contains the property you want. To find all the properties in an analytic object, do the following:
- In a project, on the navigation bar, click Model > Analytic Objects and then select the object you want to add a property to. You can then filter the list of attributes by property type and review the list.
- Use Visier APIs to retrieve all properties in an analytic object. For more information, see Data Model API.
If you're creating new attributes for an analytic object, you might wonder when to create a property as opposed to a dimension or concept. If your attribute meets any of the following guidelines, a property is probably the right object for your data.
- The attribute evaluates the analytic object on a per-ID basis. For example, the Age property evaluates on each employee ID to provide an age for every employee.
- The attribute won't be used as a group by in visualizations.
- The attribute can be used in other objects, like metric formulas or dimensions.
In addition to these criteria, review each property's characteristics to decide which type of property to create.
After you determine that you want to create a property, you can create the property in a project in Model > Analytic Objects. For more information, see Properties.
Create a property
Create a new property for an analytic object.
Note: For a tutorial that walks you through creating a new property, see Create New Employee Attributes and Metrics.
-
In a project, on the navigation bar, click Model > Analytic Objects.
-
Select an object.
-
In the Attributes tab, click Create Attribute > Property.
- Select a property type.
- Type a display name.
- Optional: Type an object name. If left empty, Visier generates an object name.
-
Select a data type from the list.
- Optional: Type a description.
- Optional: To add tags to the property, click Add Tags. For more information about tags, see Create and Assign Tags to Content.
- Optional: If you selected a calculated property, in the formula editor, type a formula.
- Optional: To create additional properties, in the left panel, click Create.
- When finished, click Done.
Customize a property
Change the settings, formula, or data type of a property.
-
In a project, on the navigation bar, click Model > Analytic Objects.
-
Select an object.
- Select a property to customize.
-
Navigate to Customize.
- Do one of the following:
- For a simple property, change the available settings. For more information, see Property settings.
- For a calculated property, do any of the following:
- Change the available settings. For more information, see Property settings.
- Write a formula in the Formula box. For more information, see Visier Formula Language (VFL).
- Add parameters. For more information, see Calculated property parameters.
Note: Calculated properties that use the function metricValueLookup can enable Data Access Bypass. Data Access Bypass allows the calculated property to access the entire dataset, regardless of the data access granted to users for objects within the property's formula. For example, if a user has Detailed access to the calculated property with Data Access Bypass enabled, and None access to an object in the calculated property formula, like Gender, the user will still be able to see the whole dataset for the calculated property.
The following restrictions apply to Data Access Bypass:
- Data Access Bypass is only available if the formula contains metricValueLookup(...) with no other operations. For example, if the formula is metricValueLookup(...) + 1 Data Access Bypass cannot be enabled.
- To view the value when used in a metric, the user must have at least Aggregate data access to at least one record for each of the property's underlying objects.
- To view the value in the Detailed View visual, the user must have at least Detailed data access to at least one record for each of the property’s underlying objects.
- For a multi-value property, select a different multi-value data type.
Property settings
These settings allow you to customize the property for your specific business needs. The following table outlines the available modifications.
Setting | Description |
---|---|
Data type |
Data types define the structure of data records. For example, the String data type for the Manager Status property lets the values be numbers or letters such as Yes, No, 0, 1. Selecting the Boolean data type for the Manager Status property means logical True or False values appear rather than strings. Note: If the data type is Currency, there is an additional setting for Currency Code to select the property to retrieve currency values from. |
Filterable |
The Filterable setting makes the attribute available as a chart filter in your solution. This allows you to analyze specific populations in visualizations. Note: This setting is only available for date and numeric data types. |
Default value |
When data is missing, it's possible to set a default value to fill any gaps. For example, if the Gender property is missing a value for some employees, this setting allows you to override a null value with a default value such as Unknown. Note: If this toggle is off, the property drops null values. |
Calculated property parameters
Parameters serve as placeholders in a formula. This allows you to create objects that use different variations in a single object.
Parameters can be one of the following types:
- Numeric: A parameter with a numeric data type. A numeric parameter can be set with an optional default value and value range.
- Member: A filter parameter that can be set with optional dimension member selection.
- Aggregation: A parameter that aggregates property values. For events and subjects, the parameter is set on one property using multiple aggregation functions. For overlays, the parameter is set on multiple properties using one aggregation function.
- Plan: A plan parameter that can be used to select a plan and scenario.
If you reference a parameterized object in the formula of a different object, you can set its parameters to a specific value in the new formula.
Step One: Create a parameter
In a calculated property, a parameter defines the values available to users in the solution experience. You can then set the values that users can select by creating derived properties.
Note: When using parameterized metrics, users can set the parameter values while exploring a visualization. When using parameterized calculated properties, users can select any of the available derived properties but cannot change the parameter values during exploration.
-
In a project, on the navigation bar, click Model > Analytic Objects.
- Select an object.
-
Do one of the following:
- Select an existing calculated property.
- Add a new calculated property.
- In the property, click Parameters > Add Parameter.
- Select either numeric or member.
- If numeric, select the data type and set the default value. You can optionally set a minimum value and maximum value.
Note: If you set the minimum value or maximum value, the derived property values can only be between those two values.
- If member, select the analytic object. You can optionally select a dimension and dimension members.
Note: If you don’t set the dimension or dimension members, the formula in the calculated property will be inclusive of all dimensions and members for the analytic object. You can then set the parameter values in derived properties.
- If numeric, select the data type and set the default value. You can optionally set a minimum value and maximum value.
- Type a display name and description.
- Click Create.
Tip: Parameter inheritance
You can use a parameterized calculated property in the formula of another object, such as in a different calculated property. If the second object is a calculated property, it will inherit the parameters of the original calculated property. The derived properties of the second property have the flexibility to set values for any of the parameters from both properties.
If the parameter is assigned a value in the second property’s formula, such as Parameter A = 30, the second property will not inherit the parameter. By assigning a value to a parameter, the parameter no longer acts as a variable. In this case, the second property’s derived properties cannot set values for the parameters of the original property.
Example: Parameterize a property that counts the number of applicants in each stage of the applicant process
Let’s say you want to create a calculated property that counts the number of applicants in each stage of the applicant process for a specific requisition. To do so, you can create a new calculated property on the Requisition subject named Applicants in Stage. In the Customize tab, add the following formula:
on Applicant via Requisition validUntil instant aggregate count(Applicant.ApplicantID)
Next, add a new member parameter named Stage and select the Applicant analytic object. Now that you have a parameter for the calculated property, navigate back to the Customize tab to add a filter to the formula, as shown next.
on Applicant via Requisition validUntil instant filterBy (Stage_Parameter) aggregate count(Applicant.ApplicantID)
This formula tells the calculated property to count the number of applicants for a requisition filtered by Stage. Next, you can create derived properties to set values for the applicant stages that users can use in their analyses.
Step Two: Create a derived property
The derived properties define specific parameters values that a user can select.
- In the property, click Derived Properties > Add Derived Property.
- Type a display name and description.
- Click Create.
Result: The derived property is created. By default, it does not have any parameter values and acts the same as the parent calculated property.
- To add parameter values, select the derived property.
- In the Info panel, do one of the following:
- If numeric, set the value for the derived property.
- If member, select the dimension and dimension members for the derived properties.
Result: The derived property now has parameter values.
- Optional: To quickly create more derived properties, select a derived property and then click the More button > Duplicate. This makes a copy of the existing derived property that you can then edit.
- Repeat the above steps until finished.
Example: Create derived properties for each stage of the applicant process
Using the previous example, let’s say that you want to add derived properties for the Applied, Position Filled, Abandoned, and Rejected stages. After creating the Stage parameter, you can navigate to the Derived Properties tab and add a derived property called Applicants in Applied Stage.
After creating the derived property, select the property in the list to open the Info panel. In the Info panel, you can select the dimension Applicant Stage and the dimension member Applied. Next, in the Info panel, you can duplicate the Applicants in Applied Stage property. This creates a new derived property named Applicants in Applied Stage (Copy).
You can select that property from the list and change the display name to Applicants in Position Filled Stage. In the Info panel, under Applicant Stage, edit the Members from Applied to Position Filled. This makes the parameter value the Position Filled stage of the Applicant Stage dimension.
Follow the same steps for the Applicants in Abandoned Stage and Applicants in Rejected Stage derived properties. When finished, you’ll have four derived properties that users can use to explore and build analyses.
Convert a property
If you want to change a property to a leveled dimension or different property type, you can convert the property.
-
In a project, on the navigation bar, click Model > Analytic Objects.
-
Select an object.
- Select a property to convert.
- In the upper-right corner, click the More actions button > Convert.
- Select the object type to convert to, and then click Next.
- In the Customize dialog, if converting to Leveled dimension, select the data type. If converting to a different property type, additional customization isn't required.
- Click Convert.
- After converting, make any changes to the object, such as adding levels to a leveled dimension or writing a formula for a calculated property.
- When finished, publish your project to production. For instructions, see Publish Project Changes.
Troubleshoot "Data is not available"
You may see a "Data is not available" note in the Customize tab. To investigate data availability, check:
- The Data Transfers room in the global workspace. There must be a data file that contains data for the object.
- The Sources room in the global workspace. The data file containing your object data must be connected to a source. For more information, see Sources.
- The Mappings room in a project. The source that contains your object data must be mapped to the associated property. For more information, see Mappings.
- The data version. After mapping your source data to a property in Visier, you must generate a new data version. For more information, see Data Categories and Run a Job.